#pragma once

#define _WINDOWS_WIDTH 800
#define _WINDOWS_HEIGHT 600
#define _WINDOWS_SCREENBPP 32
#define _PI 3.1415926
#define _def_speed 300
#define _def_startx (float)(_GAMEROOM_R+_GAMEROOM_L)/2
#define _def_starty _WINDOWS_HEIGHT-100

#define _GAMEROOM_L 50
#define _GAMEROOM_R 550

#define _PLAYER_BASE_DMG 2
#define _PLAYER_DEFAULT_LIFE 5
#define _PLAYER_BOOM_DMG 1000

struct delete_object
{
	template <typename T>
	void operator()(T *ptr){ delete ptr;}
};

namespace {float sqr(float x){return x*x;}}